Sumário
O BlackCat (também conhecido como ALPHV e Noberus) é um grupo de Ransomware-as-a-Service (RaaS) que surgiu em novembro de 2021, e ganhou as manchetes por ser um ransomware sofisticado escrito em Rust. Além de ter variantes Windows e Linux, sua carga útil pode ser personalizada para se adaptar às necessidades do atacante. Acredita-se que o BlackCat seja o sucessor dos grupos de ransomware Darkside e BlackMatter . Eles trabalham com um esquema de dupla extorsão, onde os dados são roubados, criptografados e vazados caso o resgate não seja pago, o que é uma metodologia comum implementada pelos grupos de RaaS.
Segundo a Microsoft, o BlackCat foi encontrado mirando em diferentes países e regiões da África, Américas, Ásia e Europa, tendo pelo menos dois afiliados conhecidos: DEV-0237 (anteriormente associado à Ryuk, Conti e Hive), e DEV-0504 (anteriormente associado à Ryuk, REvil, BlackMatter e Conti). No entanto, devido à diversidade de afiliados e alvos, o BlackCat pode apresentar diferentes TTPs nos ataques. Recentemente, em setembro de 2022, o BlackCat alegou ter violado um contractor que presta serviços ao Departamento de Defesa dos EUA e outras agências governamentais.
Neste blog post, analisaremos o BlackCat e mostraremos algumas das táticas e técnicas que encontramos em um ataque recente de ransomware analisado pelo Netskope Threat Labs. As evidências mostram que este foi um ataque direcionado, onde os hackers estavam focados em roubar dados sensíveis da organização e infectar o maior número possível de dispositivos.
Apoio inicial e movimentos laterais
No incidente recente analisado pelo Netskope Threat Labs, os atacantes violaram um contractor que tinha acesso a um desktop virtual dentro da rede corporativa.
O atacante usou uma extensão maliciosa do navegador para capturar a conta do contractor. Como nenhum MFA foi requerido, ele conseguiu fazer login no desktop virtual, escalar privilégios e acessar outros dispositivos na rede corporativa.
Execução do payload
Depois de fazer uma varredura da rede corporativa, os atacantes BlackCat criaram vários arquivos de texto, cada um deles contendo os nomes das máquinas identificadas na rede.
Em seguida, eles usaram o PsExec e uma conta de domínio comprometida para implantar o ExMatter em mais de 2.000 máquinas na rede.
Os atacantes usaram arquivos de lote para executar vários comandos PsExec e implementar payloads nas máquinas identificadas.
Abaixo está um exemplo da linha de comando usada pelo atacante para executar comandos e payloads remotamente com o PsExec e a conta comprometida:
start PsExec.exe -d -n 5 @C:\temp\list01.txt -accepteula -u <REDACTED_USER> -p <REDACTED_PASSWORD> cmd /c <COMMAND_LINE>
A descrição dos argumentos do PsExec usados pelo atacante pode ser encontrada abaixo:
Argumento | Description |
---|---|
-d | Não espere que o processo seja encerrado (não interativo) |
-n 5 | Esperar 5 segundos ao conectar-se a computadores remotos |
@C:\temp\list01.txt | Arquivo contendo os nomes dos computadores nos quais o PsExec executará o comando |
-accepteula | Aceitar automaticamente o EULA para evitar a exibição do diálogo |
-você | Nome de usuário da conta comprometida utilizada pelo atacante |
-p | Senha da conta comprometida utilizada pelo atacante |
cmd /c | Linha de comando executada pelo atacante |
Entre outras evidências, é possível confirmar se o PsExec foi executado com sucesso em um dispositivo, verificando a seguinte chave de registro.
Exfiltração de dados
Neste incidente, os atacantes usaram uma ferramenta de exfiltragem de dados .NET conhecida como ExMatter, a mesma usada pelo ransomware BlackMatter e recentemente adotada pelo BlackCat. Vale a pena mencionar que o servidor utilizado para a exfiltragem de dados neste incidente foi descoberto pelos atacantes um dia antes do ataque.
A amostra específica deste incidente foi compilada perto do ataque e contém uma proteção .NET popular chamada Confuser.
O atacante tentou implementar esta ferramenta em mais de 2.000 máquinas da rede usando o PsExec, como descrito anteriormente. ExMatter irá então iterar nas unidades de máquinas infectadas para procurar arquivos que serão exfiltrados.
Como descrito anteriormente, esta ferramenta foi recentemente atualizada pelo BlackCat, contendo refatoração de código e novas funcionalidades. Apesar das mudanças de código, podemos observar claramente as semelhanças entre uma amostra conhecida de ExMatter e a ferramenta utilizada neste ataque.
O ExMatter contém uma lista com detalhes sobre os tipos de arquivos que tentará exfiltrar e diretórios a evitar. Além disso, a ferramenta está apenas roubando arquivos entre 4 KB e 64 MB.
Ele não exfiltrará dados dos seguintes diretórios:
- AppData\Local\Microsoft
- AppData\Local\Pacotes
- AppData\Roaming\Microsoft
- C:$Reciclar.Bin
- C:\Documents and Settings
- C:\PerfLogs
- C:\Arquivos de programas
- C:\Arquivos de Programas (x86)
- C:\ProgramData
- C:\Usuários\Todos os usuários\Microsoft
- C:\Windows
Como mencionado anteriormente, ele exfiltrará somente arquivos que contenham as seguintes extensões e que estejam dentro do limite de tamanho do arquivo:
- *.bmp
- *.doc
- *.docx
- *.dwg
- *.ipt
- *.jpeg
- *.jpg
- *.msg
- *.png
- *.PST
- *.rdp
- *.rtf
- *.sql
- *.TXT
- *.TXT
- *.xls
- *.xlsx
- *.fecho eclair
Por padrão, esta amostra específica está tentando se comunicar com um endereço IP via WebDav, enviando inicialmente uma solicitação PROPFIND.
Os métodos WebDav implementados por esta ferramenta são: PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, e UNLOCK.
Esta ferramenta também pode ser executada em segundo plano (sem mostrar o console) se“-background” ou “-b” for especificado.
Criptografia de dados
Assim como a ferramenta ExMatter, o payload do BlackCat também foi compilado em julho de 2022. Os atacantes implantaram o ransomware em mais de 2.000 máquinas com a mesma técnica descrita anteriormente, usando o PsExec com uma conta de domínio comprometida.
O BlackCat pode ser executado com diferentes parâmetros, que podem ser encontrados na aba "ajuda" de seu menu.
As opções oferecidas pelo ransomware BlackCat são:
Parametro | Description |
---|---|
--token de acesso | Linha utilizada pela BlackCat para validar a execução e decodificar a configuração do BlackCat na última versão |
--desviar | Este parâmetro não parece ser implementado |
--filho | Executado como um processo filho |
--arrastar e soltar | Chamado com “arrastar e largar” |
--drop-drag-and-drop-target | Arquivo de lote alvo de “arrastar e largar” |
--extra-verbose | Log mais para console (também força o processo a executar em modo anexo) |
-h, --ajuda | Imprimir informações de ajuda |
--arquivo de log | Habilitar o log em um arquivo específico |
--no-impres | Não desovar processos não personalizados no Windows |
--noneto | Não descobrir compartilhamentos de rede no Windows |
--no-prop | Não propagar (worm) no Windows |
--no-prop-servers | Não propagar para servidores definidos |
--no-vm-kill | Não parar VMs no ESXi |
--no-vm-kill-names | Não parar VMs definidas no ESXi |
--no-vm-snapshot-kill | Não remover snapshots das VMs no ESXi |
--Agora tudo | Não atualizar o wallpaper da área de trabalho no Windows |
-p, --caminhos | Somente arquivos de processo dentro de caminhos definidos |
--prop-file | Propagação do arquivo especificado |
--propagado | Executa como um processo propagado |
--safeboot | Reiniciar em modo seguro antes de executar no Windows |
--safeboot-instance | Executa como instância de safeboot no Windows |
--safeboot-network | Reinicialização em modo seguro com Networking antes de rodar no Windows |
--sleep-restart | Pausa por alguns segundos após uma operação bem-sucedida e depois reinicia. (Isto é persistência suave: mantém o processo ativo não mais que o definido em --sleep-restart-diration, 24 horas por padrão) |
--sleep-restart-duração | Manter a persistência suave ativa por alguns segundos. (24 horas por padrão) |
--sleep-restart-until | Manter a persistência suave até o horário UTC definido em milis. (Padrão de até 24 horas desde o lançamento) |
--ui | Mostrar interface do usuário |
-v, --verbose | Log para console |
Neste ponto, duas versões do criptografador do BlackCat foram encontradas. A primeira delas armazenava a configuração do ransomware em texto simples dentro do binário, que poderia ser facilmente extraído e analisado. A segunda começou a criptografar a configuração, e a descriptografar apenas mediante de um "token de acesso". Em outras palavras, a última versão do BlackCat não pode ser executada ou ter sua configuração extraída se o token de acesso for desconhecido.
A versão usada nesse ataque específico é a mais recente, o que pode ser confirmado com a execução de uma amostra sem a chave de acesso ou com uma chave aleatória, gerando um erro de "configuração inválida".
Uma vez em execução, a chave de acesso é então analisada e usada para descriptografar a configuração em tempo de execução, usando o AES-128.
A configuração do ransomware BlackCat contém 23 áreas:
Valor | Description |
---|---|
config_id | Identificação da configuração (utilizada pelo BlackCat para identificar o alvo) |
extensão | Extensão adicionada a arquivos criptografados |
chave pública | Chave pública da RSA |
note_file_name | Nome da nota de resgate |
note_full_text | Versão completa da nota de resgate |
note_short_text | Versão curta da nota de resgate |
credenciais | Conjunto de credenciais comprometidas utilizadas pela BlackCat para escalada e propagação de privilégios via PsExec |
default_file_mode | Modo de criptografia de arquivos, geralmente definido como "Automático". O valor "SmartPattern" também foi encontrado, o que resultou em apenas alguns megabytes do arquivo sendo criptografado. |
default_file_cipher | Cifra de criptografia de arquivos, geralmente definida como "Melhor", que usa AES. |
kill_services | Lista de serviços a serem encerrados |
kill_processes | Lista de processos a serem encerrados |
exclu_directory_names | Lista de diretórios a serem excluídos do processo de criptografia |
exclu_file_names | Lista de arquivos a serem excluídos do processo de criptografia |
exclude_file_extensions | Lista de extensões para excluir do processo de criptografia |
exclude_file_path_wildcard | Caminhos de arquivos a serem excluídos do processo de criptografia usando wildcard |
enable_network_discovery | Habilitar/desabilitar a descoberta da rede |
enable_self_propagation | Habilitar/desabilitar a auto-propagação via PsExec |
enable_set_wallpaper | Habilitar/desabilitar a mudança do papel de parede |
enable_esxi_vm_kill | Habilitar/desabilitar terminação da VM no ESXi |
enable_esxi_vm_snapshot_kill | Habilitar/desabilitar a exclusão de instantâneos no ESXi |
strict_include_paths | Caminhos de arquivo codificados para criptografar |
esxi_vm_kill_exclude | Lista de VMs a excluir nos hospedeiros ESXi |
sleep_restart | Tempo de pausa antes de reiniciar |
De acordo com a configuração descriptografada desta amostra específica, o ransomware tenta acabar com os seguintes serviços:
- agntsvc
- dbeng50
- dbsnmp
- encsvc
- excel
- Raposa de fogo
- infopath
- isqlplussvc
- msaccess
- mspub
- mydesktopqos
- meudesktopservice
- bloco de anotações
- ocautoupds
- ocomm
- ocssd
- uma nota
- oráculo
- panorama
- powerpnt
- sqbcoreservice
- sql
- vapor
- tempo de sincronização
- tbirdconfig
- o morcego
- pássaro do trovão
- visão
- winword
- prancheta
- xfssvccon
- *sql*
- dormir
- vxmon
- benefícios
- bengien
- pvlsvr
- servidor
- raw_agent_svc
- vsnapvss
- CagService
- QBIDPServiço
- QBDBMgrN
- QBCFMonitorService
- SEIVA
- TeamViewer_Service
- TeamViewer
- tv_w32
- tv_x64
- CVMountd
- cvd
- cvfwd
- CVODS
- saphostexec
- sapocol
- sapstartsrv
- avagente
- avscc
- DellSystemDetect
- EnterpriseClient
- VeeamNFSSvc
- VeeamTransportSvc
- VeeamDeploymentSvc
O ransomware não criptografa arquivos nos seguintes diretórios:
- informações de volume do sistema
- inteligência
- $windows.~ws
- dados de aplicativos
- $recycle.bin
- mozila
- $windows.~bt
- Público
- msocache
- janelas
- padrão
- todos os usuários
- navegador tor
- dados do Programa
- bota
- config.msi
- o Google
- perflogs
- dados do aplicativo
- windows.old
Tem a seguinte lista de exclusão com nomes de arquivos:
- desktop.ini
- autorun.inf
- ntldr
- bootsect.bak
- thumbs.db
- boot.ini
- ntuser.dat
- iconcache.db
- bootfont.bin
- ntuser.ini
- ntuser.dat.log
Também ignora a criptografia de arquivos que tenham essas extensões:
- pacote temático
- nls
- diagpkg
- MSI
- lnk
- exe
- táxi
- scr
- bastão
- drv
- rtp
- msp
- prf
- msc
- ico
- chave
- ocx
- diagcab
- diagcfg
- pdb
- wpx
- ajuda
- icns
- ROM
- dll
- msstyles
- mod
- ps1
- ics
- hta
- lixeira
- cmd
- ani
- 386
- trancar
- cur
- idx
- sistema
- com
- pacote de tema de mesa
- shs
- ldf
- tema
- mpa
- nenhuma mídia
- spl
- cpl
- adv
- icl
- msu
As seguintes configurações também são habilitadas de acordo com o arquivo de configuração:
- Descoberta de rede
- Autopropagação
- Definir papel de parede
- ESXi VM Kill
- Eliminação instantânea da VM ESXi
O BlackCat também contém uma funcionalidade de "auto-propagação" (worm), que usa PsExec e credenciais comprometidas especificadas em sua configuração. O binário PsExec é criptografado e armazenado no ransomware.
Também existe uma opção chamada "drag-and-drop", que cria um arquivo que pode ser usado para executar o ransomware. O conteúdo deste arquivo é descriptografado apenas na hora da execução.
Comandos adicionais executados pelo BlackCat:
- Obter UUID do dispositivo
“C:\Windows\system32\cmd.exe” /c “wmic csproduct obter UUID” - Parar o serviço IIS
“C:\Windows\system32\cmd.exe” /c “iisreset.exe /stop” - Cópias de sombras limpas
“C:\Windows\system32\cmd.exe” /c “vssadmin.exe Delete Shadows /all /quiet”
“C:\Windows\system32\cmd.exe” /c “wmic.exe Shadowcopy Delete” - Listar os nomes dos logs de eventos do Windows e tentar limpá-los todos.
“C:\Windows\system32\cmd.exe” /c “wevtutil.exe el”
“C:\Windows\system32\cmd.exe” /c “wevutil.exe cl \”<NomeAqui>\”
Neste ataque, notamos que o atacante listou todos os logs com o nome binário correto (wevtutil), mas há um erro de digitação nos comandos de limpeza. O que, em outras palavras, quer dizer que ele cometeu uma falha.
Este ransomware criptografa arquivos usando AES ou ChaCha20, dependendo da configuração, e a chave usada para bloqueá-los também é criptografada com uma chave RSA pública contida dentro de sua configuração.
Uma vez feito, a extensão definida na configuração é anexada aos arquivos criptografados e, como em outros casos, o BlackCat criou uma nota de resgate com informações sobre o ataque e instruções de contato.
Se ativado na configuração, o programa de ransomware também muda o papel de parede do usuário com a seguinte mensagem.
Site do BlackCat
Como outros grupos de RaaS que operam no esquema de extorsão dupla, o BlackCat mantém um site hospedado na deep web onde vazam dados roubados caso o resgate não seja pago pelas vítimas.
Provavelmente, eles são o primeiro grupo de ransomware que permite que você procure dados vazados através de palavras-chave, suportando até mesmo wildcards.
Conclusões
O BlackCat e outros grupos de Ransomware-as-a-Service (RaaS) frequentemente exploram falhas básicas em políticas de segurança e arquitetura de rede para infectar o maior número possível de dispositivos, roubando e criptografando dados para extorquir organizações e indivíduos. Como demonstrado nesta análise, estes grupos frequentemente usam ferramentas legítimas durante o ataque, como o PsExec.
Recomendamos fortemente que as empresas revisem suas políticas de senhas e evitem usar senhas padrão para novas contas. Tecnologias como o Microsoft LAPS podem ajudar a gerar senhas exclusivas para administradores de contas locais. Também é recomendável implementar uma política de segurança para reforçar a autenticação multifator e o uso de senhas fortes para contas de domínio.
A implementação de ferramentas conhecidas de monitoramento e bloqueio, como o PsExec, também pode ajudar na segurança de sua organização. O treinamento do usuário também é fortemente recomendado, pois a engenharia social pode ser explorada por esses grupos para obter acesso às redes. Por último, também recomendamos o uso de uma solução de secure web gateway para proteger sua rede contra malware e exfiltragem de dados.
Táticas e Técnicas
Todas as táticas e técnicas observadas nesta análise podem ser mapeadas com a base de conhecimentos MITRE ATT&CK da seguinte forma:
Tática | ATT&CK ID | Description |
---|---|---|
Reconhecimento | T1589.001 | Reúna informações sobre a identidade da vítima: Credenciais |
Desenvolvimento de Recursos | T1587.001 | Desenvolver Capacidades: Malware |
Desenvolvimento de Recursos | T1588.002 | Obter Capacidades: Ferramenta |
Acesso inicial | T1078.002 | Contas válidas: Contas de domínio |
Execução | T1059.003 | Intérprete de Comando e Roteiro: Windows Command Shell |
Privilege Escalation | T1548.002 | Mecanismo de Controle de Elevação de Abuso: Bypass UAC |
Defesa Evasão | T1222.001 | Modificação de Arquivo e Diretório de Permissões: Modificação de Arquivo Windows e Diretório Permissões de Modificação |
Defesa Evasão | T1070.001 | Remoção do Indicador no Host: Limpar logs de eventos do Windows |
Descoberta | T1087.002 | Descoberta de conta: Conta de domínio |
Descoberta | T1083 | Descoberta de arquivos e diretórios |
Movimento lateral | T1570 | Transferência lateral de ferramentas |
Comando e controle | T1071.001 | Protocolo de Camada de Aplicação: Protocolos Web |
Exfiltração | T1048 | Exfiltração sobre protocolo alternativo |
Impacto | T1486 | Data Encrypted for Impact |
Impacto | T1491.001 | Defacement: Defacement Interno |